Speciale Unix: tutto ma non Windows '95

di Michele Iurillo

Sembra un motto degno dell'ultima campagna della IBM per rilanciare OS/2. In realtà è il titolo di un articolo che tenta di trovare alternative al sistema operativo Microsoft in cerca di utenze. Oggi vedremo come installare Unix su Amiga, ci baseremo sull'esperienza di alcuni "sistemisti" che hanno deciso di installare NetBSD e Linux Amiga sui loro sistemi. Per chi invece non vuole, a ragione, allontanarsi dal "vecchio" AmigaOS proponiamo invece tutte quelle utilità per rendere il sistema più Unix-like.
Per chi ancora non lo sapesse Unix è considerato "il sistema operativo" per eccellenza. Sviluppato quasi esclusivamente in "C", è il punto di riferimento per le grosse reti di dati.
Il sistema operativo è nato presso gli AT&T Bell Laboratories uno dei maggiori istituti di ricerca degli Stati Uniti e del mondo. Il suo sviluppo è dovuto quasi esclusivamente alle idee di singole persone e non di gruppi di lavoro, direttamente dalle necessità degli utenti e non da questioni burocratiche.
Unix è figlio dell'impegno di un gruppo di persone della AT&T che aveva in un primo momento creato un sistema operativo denominato (vp3)Multics, nato al (vp3)Massachusetts Institute of Technology (d'ora in poi MIT) negli anni Settanta. E' proprio Multics, uno dei primi sistemi operativi a concetto time sharing mai realizzato, la scintilla che fa nascere Unix. Il sistema Multics era un sistema molto avanzato, ma il suo utilizzo era molto difficile e complesso. Ci misero le mani Ken Thompson e Dennis Ritchie (uno degli autori del "C") oltre a Rudd Canaday, J. Ossanna e R. Morris. Dopo non poche discussioni, e qualche problema, riuscirono ad "impossessarsi" di un PDP-7 della Digital dove lavorare.

Per gioco...


La loro prima applicazione fu un videogioco. E' incredibile pensare che questi geni dell'informatica e della programmazione avessero prima realizzato "Viaggio nello Spazio" e poi niente di meno che Unix. Oggi ragazzi norvegesi, olandesi, finlandesi ma anche italiani passano le giornate a realizzare intro in assembler con concetti di programmazione ed una padronanza della macchina che farebbe invidia a Ken Thompson. Da questi giovani ragazzi ci aspettiamo qualche cosa di più. Alcuni di loro si sono iscritti al progetto Amiga OS Replacement Project, di cui abbiamo ampiamente trattato, senza però scrivere una sola linea di codice.< BR> Torniamo a Unix e ai suoi dialetti.
Abbiamo affermato che Unix è stato quasi interamente scritto in "C" ciò è vero per le versioni attuali. In realtà la prima stesura del sistema venne scritta in Assembler, ma siccome lo stesso gruppo di ricerca stava sviluppando anche il linguaggio "C", ben presto tutto venne riscritto. Unix era uno dei primi sistemi operativi scritto in un linguaggio ad alto livello e la diffusione di questo sistema è stata possibile soprattutto per questo motivo.
Bastava prendere il sorgente, effettuare alcune modifiche e ricompilare il tutto per vedere girare senza problemi il sistema operativo. Ed è grazie alla ricompilazione dei sorgenti di Linux (dal PC) e di NetBSD (dall'Atari) che è possibile oggi parlare di Unix shareware o freeware su Amiga. Le ultime settimane ci hanno riservato degli "announce" dedicati a tutta una serie di programmi molto interessanti come Amiwin o DaggeX (un server X); ma per parlare di questo c'è tempo.

BSD, X-Windows e Posix


Le Università americane di quegli anni erano in fermento e anche la University of California a Berkeley realizzò una versione del sistema operativo denominata BSD (Berkeley Software Distribution) che ottenne ampi consensi.
Mentre la AT&T cercava un continuo miglioramento di Unix a fini commerciali, BSD si diffuse nelle università permettendo uno sviluppo ancora più forte. Sono proprio le versioni BSD ad assumere un ruolo fondamentale per lo sviluppo dei concetti di rete locale e geografica. ARPANET (la mamma di Internet) fu uno dei primi esempi di rete geografica basata su BSD e poi su Unix. Anche NFS di Sun (Network File System) e RFS di AT&T (Remote File Sharing) si basano su concetti sviluppati in BSD. Xenix, di cui avrete certamente sentito parlare, nasce come versione ridotta di Unix per elaboratori della famiglia Intel. In realtà il sistema Xenix riuscì a superare anche il limite previsto delle macchine su cui girava. Oggi, molti dei concetti di Xenix sono stati introdotti nelle versioni recenti di Unix portando velocemente il sistema Xenix a scomparire dall'albero genealogico di Unix. X-Windows (d'ora in poi X) è stato un altro "propulsore" per il definitivo decollo di Unix. Oramai parte integrante del sistema, X colma l'ultima lacuna del sistema operativo permettendo l'uso di una GUI e di strumenti come il mouse. X rende Unix più semplice da utilizzare anche se i veri esperti usano il server grafico solo per l'orologio e qualche gioco, affidandosi totalmente alla shell per ogni operazione di un certo "peso".
X in realtà nasce presso il MIT a metà degli anni Ottanta e viene acquisito immediatamente da (vp3)Sun e (vp3)Apollo. Ma ai giorni nostri, in realtà, X domina come standard industriale senza diritti di proprietà (non proprietary). Oggi molti pacchetti applicativi per sistemi Unix si appoggiano all'ambiente X. Durante la stesura della System V realease 3 (d'ora in poi SVR3) nasce un po' di confusione. Le tre principali varianti di Unix si stanno fondendo nella nuova release, ma alcuni costruttori non sono d'accordo. La SVR4 di oggi è frutto di accordi intercorsi tra AT&T, Sun Microsistem e Microsoft (e ti pareva) ma la creazione di Open Software Foundation (OSF) da parte di moltissimi altri costruttori tra cui Hewlett Packard e DEC nasce per la creazione di una variante del sistema operativo fuori dal controllo di Sun e AT&T che a loro volta creano un consorzio denominato Unix International. Tutto molto complesso: pensate che ci sono costruttori che appartengono sia a OSF sia a Unix International.


Il porting di Linux


Come si può immaginare la diffusione di Unix è stata uno sfida per i programmatori Amiga. Sono state create due differenti linee. La prima quella più prolifica dedicata a NetBSD, di cui tratteremo sempre in questo articolo. L'altra, coerente allo standard POSIX è Linux/68k. Quest'ultima è una recente scoperta ed è ancora in fase di sviluppo (ma d'altronde Unix è sempre in fase di sviluppo). Vediamo brevemente la storia di questo prodotto. Il 3 Giugno 1995 viene annunciato il rilascio della versione 0.9.7. Questa data sancisce anche il cambio della guardia tra il gruppo di lavoro che ha creato i primi esperimenti e Roman Hodek. E' il 16 Luglio 1995 quando viene rilasciata una versione 1.2.10 (un'alfa) dopo pochi giorni è disponibile un X server a colori per Amiga. Arriviamo ai giorni nostri (o quasi) con la disponibilità della versione 0.9.9. (ufficiale). La prima versione ufficiale di Linux è stata scritta per PC. Grazie a questa prima versione e alla poderosa serie di documenti e sorgenti rilasciati è stato possibile, grazie alla trasportabilità del "C" riscrivere con un bel po' di lavoro una versione per Amiga.
Per installare Linux/68K (d'ora in poi LX68K) è necessario avere a disposizione una partizione di almeno 22 Megabyte. Ovviamente non è possibile utilizzare questa partizione con file system Amiga Dos per l'utilizzo Linux. Come molti sanno Unix usa una sua HFS (hierarcic filesystem). Gli esperti consigliano di utilizzare due partizioni una per la root (/) ed una per /usr (e quindi per i files addizionali). La partizione root deve essere di più 3 MB questa partizione sarà quella di Boot.
La partizione usr deve essere di almeno 19MB. Serviranno molti più mega se dovrete installare altro materiale con X11 windows e i vari editor. Questo non è molto se paragonato alla prima versione di NetBSD la quale richiedeva 200 MB per la partizione completa e 80MB per la partizione minima. La buona notizia è che quasi tutti i controller SCSI e IDE sono supportati. Al contrario in NetBSD ci sono problemi sotto questo punto di vista. LX68K lavora con tutti i processori della famiglia Motorola a partire dal 68020 in su. Utilizza MPU e FPU e i risultati migliori si ottengono con un 68030 (in su). Le richieste di memoria non sono poi così spinte. LX68K richiede 4MB di Fast Ram e 1 MB di Chip memory ma ovviamente con maggior memoria si possono incrementare il numero di processi concorrenti e la velocità operativa. LX68K gira con una risoluzione di 640x400 in uno schermo interlacciato. Un monitor VGA o Multisynch è vivamente consigliato per l'utilizzo. Se volete altre risoluzioni o volete usare una scheda grafica non vi preoccupate... Potete sempre ricompilarvi il kernel. Da non sottovalutare lo spazio necessario in una partizione Amiga Dos (oltre alle già citate in HFS) pre trasportare i vari file scaricati via via dal vostro modem o dai dischetti. I file temporanei possono anche raggiungere i 25MB. Quando avrete installato LX68K tenetevi via sempre almeno un 1MB per i Boot-File.

Questa e' solo una parte dell'articolo pubblicato su Enigma Amiga Run di Ottobre numero 68. E' possibile ricevere l'arretrato chiamando il numero (02)38.01.00.30 tutti i giorni dalle ore 10.00 alle 12.30